package cn.unknowpupil.init.components.annotation;




import cn.unknowpupil.init.common.enums.LimitTypeEnum;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Description: 描述。</br>
 * <p>
 *
 * </p>
 * @author: <a> w10g </a>
 * @data: 2020/7/29 10:25
 * @since: 0.0.2
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Limit {

    // 资源名称，用于描述接口功能
    String name() default "";

    // 资源 key
    String key() default "";

    // key prefix
    String prefix() default "";

    // 时间的，单位秒
    int period();

    // 限制访问次数
    int count();

    // 限制类型
    LimitTypeEnum limitType() default LimitTypeEnum.CUSTOMER;

}